1. Field of the Invention
The present invention relates to a printing control apparatus for controlling to print out a print job transmitted from a host computer and, more particularly, to a printing control apparatus for analyzing and printing print jobs, each having a data size as additional information, in units of commands, when data is exchanged between a client and a host, a printing control method, a storage medium in which a printing control program is stored, and a printing control system.
2. Description of the Prior Art
The prior art will be described with reference to FIGS. 5 and 6. FIG. 5 shows the arrangement of a printing apparatus. FIG. 6 is a flow chart showing the operation of the prior art which is to be performed upon reception of data from a host computer.
Referring to FIG. 5, reference numeral 501 denotes a printing apparatus main body; 502, a host computer (host) for sending data to the printing apparatus main body 501; 503, a input unit for receiving the data sent from the host 502; 504, a print processing unit for generating a video signal of each print page by analyzing the data of a print job; 505, a central processing unit for controlling the overall printing apparatus 501; 506, an output unit for the video signal of each page sent from the print processing unit 504 onto a printing paper sheet and outputting it; 507, a paper cassette for storing and supplying printing paper sheets; and 508, an operation unit that is used by a user to set a printing mode and the like.
Conventionally, print data which is described in a printer language starting with a print start command and ending with a print end command (FIG. 8) is sent from the host 502 to the printing apparatus 501 shown in FIG. 5.
In a peripheral device such as a printer, data received from a host computer includes print data that is to be actually printed and expressed in a page description language (PDL), which is bracketed by command information called a job language (JL). With this data, control on a print job and the like are performed. The JL is independent of the PDL but is expressed by the same text sequence.
The data sent from the host 502 is received by the input unit 503 (step S601 in FIG. 6). The input unit 503 determines that any data starting with a print start command is a print job, and handles the subsequent data as one print job up to the detection of a print end command.
Upon detection of a print start command (JL), the input unit 503 sends a job start notification to the central processing unit 505. Upon reception of the job start notification, the central processing unit 505 instructs the print processing unit 504 to start print processing for the currently received print job.
Upon reception of this instruction, the print processing unit 504 loads the data from the input unit 503 and prints the currently received print job (step S602).
Upon analyzing the data of the print job and completing a 1-page video signal, the print processing unit 504 sends the video signal to the output unit 506, and generates a video signal for the next page. Upon reception of the video signal, the output unit 506 receives a paper sheet from the paper cassette 507, prints out the video signal onto the paper sheet, and discharges it. When the print processing unit 504 processes the print job up to the print end command (YES in step S603), the print processing unit 504 sends a print end notification to the central processing unit 505.
The print processing unit 504 continues processing for the received print job until the print end command (JL) is received (NO in step S603).
When another print job is sent from the host 502, the print processing unit 504 performs the same processing as described above. Consider, for example, print jobs A and B, as shown in FIG. 8.
When print jobs are continuously sent from the host 502, the central processing unit 505 may receive a print start notification of the next print job from the input unit 503 before receiving a print end notification of the preceding print job. In this case, the central processing unit 505 instructs the print processing unit 504 to start printing the next print job after receiving the print end notification of the preceding print job from the print processing unit 504.
Upon completion of a print job A 801 (FIG. 8), print processing for a print job B 802 is started.
If, therefore, it takes much time to analyze a print job in the print processing unit 504, another subsequent print job cannot be quickly executed/managed.
FIG. 14 is a block diagram showing the schematic arrangement of a printing system that acquires information and sets environment in such a conventional printing system.
In the conventional printing system, a host computer 109 is connected to a printing apparatus 110 through a predetermined communication medium 1413.
The host computer 109 includes an application unit 1401, a printer driver unit 1402, a transmission buffer 1403, an I/F (interface) driver unit 1404, and a utility unit 1405.
The application unit 1401 provides the user with a graphical user interface and generates image data suited to user""s purpose. The printer driver unit 1402 converts the image data generated by the application unit 1401 into page description language (PDL) data that can be printed.
The transmission buffer 1403 temporarily stores the PDL data generated by the printer driver unit 1402. The I/F driver unit 1404 transmits the PDL data stored in the transmission buffer 1403 to the printing apparatus 110, and transmits/receives information to/from the printing apparatus 110. The utility unit 1405 acquires information from the printing apparatus 110 to provide it for the graphic user interface, or changes the environment settings in the printing apparatus 110 in accordance with a request from the user.
The printing apparatus 110 includes an I/F driver unit 1406, a reception buffer 1407, a JL (job control language) parser unit 1408, a PDL translator unit 1409, a rendering buffer 1410, a rendering unit 1411, a printer engine unit 1412, and a device database unit 1413. The I/F driver unit 1406 receives PDL data transmitted from the host computer 109, transmits information about the printing apparatus 110, and receives environment setting information. The reception buffer 1407 temporarily holds the entire data received through the I/F driver unit 1406 to buffer any delay in subsequent processing.
The JL parser unit 1408 analyzes the received data and determines, on the basis of predetermined JL information, whether the data supplied indicates information about the printing apparatus 110 or PDL data, thereby sending the data to the corresponding processing. The PDL translator unit 1409 performs PDL translation processing for the PDL data sent from the JL parser unit 1408, thereby converting the data into intermediate data as a rendering object suitable for rendering. The device database unit 1413 stores the information about the printing apparatus 110 which is set by the JL and acquires the information by the JL, or supplies it to the PDL translator unit 1409 on the subsequent stage. In this case, environment information indicates, for example, the number of copies.
The rendering buffer 1410 temporarily stores the intermediate data of the rendering object generated by the PDL translator unit 1409 until it is actually printed. The rendering unit 1411 generates image data as a bitmap image by actually rendering the rendering object temporarily stored in the application unit 1401. The printer engine unit 1412 receives the bitmap image generated by the rendering unit 1411, and prints it on a medium such as a paper sheet by a known printing technique.
The job control language (JL) will be described next. A print data transmission means using the JL will be described first.
JL (Job Language) data is data that is generated and transmitted by the printer driver unit 1402 of the host computer 109, together with PDL data, and has a text type structure. JL data includes an escape character expressed as  less than ESC greater than . For example, the JL indicates finishing the processing performed by the PDL translator unit 1409 that has been operating, and passing control to the JL parser unit 1408 to start parser processing, or transferring control to the PDL translator unit 1409 called xe2x80x9cLIPSxe2x80x9d (trademark of CANON. INC.) to perform PDL translation and rendering. With the above function of the JL, the printing apparatus 110 can properly switch and print print data made up of different types of PDLs.
Means for acquiring information from the printing apparatus 110 and setting environment information therein by using the JL will be described next. For example, the JL includes a command generated by a utility unit 1405 of a host computer 109 and a command for acquiring the initial value of the number of copies (COPIES) set in the printing apparatus 110 from the printing apparatus 110. Note that the information xe2x80x9cCOPIESxe2x80x9d is an example, and other pieces of environment information about the printing apparatus 110 can be acquired from corresponding character sequences. The JL also includes a command generated by the utility unit 1405 of the host computer 109, and a command to set the initial value of the number of pages to be printed by the printing apparatus 110 to xe2x80x9cXxe2x80x9d. With the above function of the JL, the host computer 109 can acquire and set information about the printing apparatus 110.
The following three problems are, however, posed in print processing performed in units of print jobs by using the JL as in the prior art.
The overall load of a job cannot be detected unless data (PDL), of the data received from the host computer, which is to be actually printed is analyzed to the end.
No job can be recognized unless PDL data is interpreted.
Job management cannot be performed before PDL data is interpreted.
FIG. 2 is a block diagram schematically showing processing for a print job in the print processing unit 504 in an embodiment of the present invention. According to the prior art, job management is allowed only from a queue 204 and the subsequent steps in FIG. 2.
Since a print job is processed as serial information, when a plurality of print jobs are continuously input, print processing for a preceding print job must be completed to process the subsequent print job without any wait. More specifically, according to the prior art, as is obvious from the structure of the printing apparatus 110 in FIG. 14, a print job is temporarily stored in the reception buffer 1407 before the job is interpreted by the JL parser unit 1408 that recognizes the job. For this reason, the print data input to the reception buffer 1407 is not recognized as a print job, failing acquisition and setting of information about all print jobs input to the printing apparatus 110.
In addition, the print data generated by the application unit 1401 of the host computer 109 is converted into PDL data by the printer driver unit 1402 and is transmitted to the printing apparatus 110 through the transmission buffer 1403 and the I/F driver unit 1404. When acquisition of information about the printing apparatus 110, setting of information, or job control is to be performed through the utility unit 1405 during data transmission, since exclusive control is performed by the I/F driver unit 1404, a request from the utility unit 1405 cannot be satisfied until the above PDL data is completely transmitted. This impairs the real-time performance.
Also, since the execution of print processing depends on the state of preceding print processing, the output timing and the like of a subsequent print job is unknown, requiring an excess wait time. Since all print jobs are processed uniformly regardless of the priority levels, even the execution of a job with a high priority must be suspended until the preceding print job is finished.
The present invention has been made in consideration of the above situation, and has as its object to provide a printing control apparatus which brackets or delimits data received by peripheral devices such as a printing apparatus by command information as in the prior art, and can recognize a job by only analyzing command information without interpreting the entire PDL data to be output by storing the command information itself or the data size following the command information in the command information, and includes a command print processing unit for analyzing the command information upon reception of data and a means for holding the job information analyzed by the command print processing unit, thereby allowing management/control of jobs on a sequence of processing immediately after data reception or following data reception, a printing control method, a storage medium storing a printing control program, and a printing control system.
In order to achieve the above object, the present invention comprises the following arrangements.
That is, there is provided a printing control apparatus for analyzing a print job and printing the print job, comprising:
input means for inputting a print job in which printing management data and print data are separately set;
analyzing means for analyzing the printing management data of the print job input by the input means; and
management information storage means for storing printing management data for managing the print job on the basis of the analysis result obtained by the analyzing means,
wherein the printing management data can be stored in the management information storage means without analyzing the print data of the print job using the analyzing means.
When analysis of a new print job is started, the analyzing means assigns job identification information to the print job, sets the job identification information in a job management table generated in the management information storage means, and stores the print management data.
This apparatus further comprises:
data conversion means for converting print data, of the print job, which is to be printed into intermediate data;
intermediate data storage means for storing the intermediate data obtained by the data conversion means; and
rendering means for generating image data to be printed from the intermediate data stored in the intermediate data storage means, and outputting the image data to a printing unit.
The printing control apparatus further comprises a printing unit including printing means for printing image data on a recording medium.
This apparatus further comprises job control means for, when job control data is input through the input means, performing control corresponding to contents of the control data for a print job specified by printing management data stored in the management information storage means on the basis of the print job and a control command designated by the job control data.
The print job includes a job packet including identification information for identifying the printing management data and the printing management data and a job packet including identification information for identifying the print data and the print data, and the job control data includes a job packet including identification information for identifying the control command and the control command.
This apparatus further comprises data attribute recognition means for recognizing identification information included in the input data input through the input means, transmitting input data recognized as a print job to the analysis means, and transmitting input data recognized as job control data to the job control means.
The input means is capable of two-way communication, and the job control means returns job information in a job management table set by job management data for print jobs stored in the management information storage means when the input job control data requests a list of print jobs in the printing control apparatus.
The identification information includes size information indicating a data size of data following the identification information.
The analysis means analyzes identification data of a job packet included in a print job, and skips the data by an amount corresponding to a size indicated by the size information included in the job packet when it is determined that the job packet currently being analyzed is print data.
When the input job control data indicates cancellation of printing, the job control means controls to stop print processing for a print job specified by a job identification number included in the job control data.
When the input job control data indicates suspension or resumption of printing, the job control means controls to suspend or resume print processing for a print job specified by a job identification number included in the job control data.
The job control means performs job control in the order of the analysis means, the data conversion means, and the rendering means.
The management information storage means further stores priviledge information indicating a priviledge to perform job control, and
the job control means performs job control on the basis of the priviledge information.
The priviledge information is set with an operation unit of the printing control apparatus.
The priviledge information is externally input through the input means.
The printing management data includes priority information, and the print processing order is changed on the basis of the priority information.
There are also provided a printing control method based on the above mechanism and a storage medium storing a printing control program.
In addition, there is provided a printing control system including a host computer and a printing control apparatus,
the host computer comprising:
generating means for generating print job; and
a job packet generating unit for generating a print job from a job packet including printing management data and identification information for identifying the printing management data and a job packet including print data and identification information for identifying the print data, and
the printing control apparatus comprising:
analysis means for analyzing the printing management data from the input print job; and
management information storage means for storing printing management data for managing the print job on the basis of the analysis result obtained by the analysis means,
wherein the printing management data can be stored in the management information storage means without analyzing the print data of the print job using the analyzing means.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.